home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / yacc / flexyacc / aflex.lha / aflex / src / nfaS.a < prev    next >
Text File  |  1991-05-16  |  2KB  |  46 lines

  1. -- Copyright (c) 1990 Regents of the University of California.
  2. -- All rights reserved.
  3. --
  4. -- This software was developed by John Self of the Arcadia project
  5. -- at the University of California, Irvine.
  6. --
  7. -- Redistribution and use in source and binary forms are permitted
  8. -- provided that the above copyright notice and this paragraph are
  9. -- duplicated in all such forms and that any documentation,
  10. -- advertising materials, and other materials related to such
  11. -- distribution and use acknowledge that the software was developed
  12. -- by the University of California, Irvine.  The name of the
  13. -- University may not be used to endorse or promote products derived
  14. -- from this software without specific prior written permission.
  15. -- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  16. -- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  17. -- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18.  
  19. -- TITLE NFA construction routines
  20. -- AUTHOR: John Self (UCI)
  21. -- DESCRIPTION builds the NFA.
  22. -- NOTES this file mirrors flex as closely as possible.
  23. -- $Header: /co/ua/self/arcadia/aflex/ada/src/RCS/nfaS.a,v 1.4 90/01/12 15:20:30 self Exp Locker: self $ 
  24.  
  25. package NFA is 
  26.   procedure ADD_ACCEPT(MACH             : in out INTEGER; 
  27.                        ACCEPTING_NUMBER : in INTEGER); 
  28.   function COPYSINGL(SINGL, NUM : in INTEGER) return INTEGER; 
  29.   procedure DUMPNFA(STATE1 : in INTEGER); 
  30.   function DUPMACHINE(MACH : in INTEGER) return INTEGER; 
  31.   procedure FINISH_RULE(MACH                : in INTEGER; 
  32.                         VARIABLE_TRAIL_RULE : in BOOLEAN; 
  33.                         HEADCNT, TRAILCNT   : in INTEGER); 
  34.   function LINK_MACHINES(FIRST, LAST : in INTEGER) return INTEGER; 
  35.   procedure MARK_BEGINNING_AS_NORMAL(MACH : in INTEGER); 
  36.   function MKBRANCH(FIRST, SECOND : in INTEGER) return INTEGER; 
  37.   function MKCLOS(STATE : in INTEGER) return INTEGER; 
  38.   function MKOPT(MACH : in INTEGER) return INTEGER; 
  39.   function MKOR(FIRST, SECOND : in INTEGER) return INTEGER; 
  40.   function MKPOSCL(STATE : in INTEGER) return INTEGER; 
  41.   function MKREP(MACH, LB, UB : in INTEGER) return INTEGER; 
  42.   function MKSTATE(SYM : in INTEGER) return INTEGER; 
  43.   procedure MKXTION(STATEFROM, STATETO : in INTEGER); 
  44.   procedure NEW_RULE; 
  45. end NFA; 
  46.